﻿using Bot.Domain.Entities;
using Comm100.Framework;
using Comm100.Framework.AutoMapper;
using Comm100.Public;
using Bot.Domain.Bo;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Text;
using Bot.Domain;

namespace Bot.Application.Dto
{
    [AutoMapFrom(typeof(Subscription))]
    public class SubscriptionDto
    {
        public bool IsChatbotEnabled { get; set; }//code review 首字母大写
        public DateTime StartDate { get; set; }
        public DateTime NextRenewDate { get; set; }
        public int TotalPurchasedMessageAmount { get; set; }
        public int? PaymentPeriod { get; set; }
        public int MesssageQuotaPerMonth { get; set; }
        public decimal MonthlyListPrice { get; set; }
        public decimal QuarterlyListPrice { get; set; }
        public decimal YearlyListPrice { get; set; }
        public int OverageMessageQuota { get; set; }
        public decimal OverageUnitPrice { get; set; }
        public bool IfSentedQuotaAlmostUsedOutMail { get; set; }
        public List<ChatbotUsageDto> ChatbotUsages { get; set; }
    }

    [AutoMapFrom(typeof(ChatbotUsage))]
    public class ChatbotUsageDto
    {
        public Guid BotId { get; set; }
        public decimal UsedMessageAmount { get; set; }
        public ChatbotDto bot { get; set; }
    }
}
